<?php

namespace app\api\controller;

use app\common\controller\Api;
//require_once 'vendor/autoload.php';

use think\Db;
use think\Exception;

use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Faceid\V20180301\FaceidClient;
use TencentCloud\Faceid\V20180301\Models\GetEidTokenRequest;

/**
 * 首页接口
 */
class Index extends Api
{
    protected $noNeedLogin = ['*'];
    protected $noNeedRight = ['*'];

    /**
     * 首页
     *
     */
    public function index()
    {
        $this->success('请求成功');
    }

    public function getsign(){
        try {
            // 实例化一个认证对象，入参需要传入腾讯云账户 SecretId 和 SecretKey，此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考，建议采用更安全的方式来使用密钥，请参见：https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
            $cred = new Credential("AKIDwtqqsofTCuavq6Z1XAY8iNMMNPzhYcHz", "ouqs4OlO5rgYekvusovPyfM93xqeO4xw");
            // 实例化一个http选项，可选的，没有特殊需求可以跳过
            $httpProfile = new HttpProfile();
            $httpProfile->setEndpoint("faceid.tencentcloudapi.com");

            // 实例化一个client选项，可选的，没有特殊需求可以跳过
            $clientProfile = new ClientProfile();
            $clientProfile->setHttpProfile($httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            $client = new FaceidClient($cred, "", $clientProfile);

            // 实例化一个请求对象,每个接口都会对应一个request对象
            $req = new GetEidTokenRequest();

            $params = array(
                "MerchantId" => "0NSJ2401051313353835"
            );
            $req->fromJsonString(json_encode($params));

            // 返回的resp是一个GetEidTokenResponse的实例，与请求对象对应
            $resp = $client->GetEidToken($req);

            // 输出json格式的字符串回包
//            print_r($resp->toJsonString());
            $this->success('获取token',json_decode($resp->toJsonString(),true));
        }
        catch(TencentCloudSDKException $e) {
            echo $e;
        }
    }

    /**
     * @return Auth|null
     */
    public function update_name()
    {
        Db::name('user')->where('id',$this->auth->id)->update(['is_name'=>1]);
        $this->success('更新成功',1);
    }
}
